home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGSCAL / TBUTIL2.LZH / DTA.INC < prev    next >
Text File  |  1984-07-13  |  2KB  |  139 lines

  1.  
  2. FUNCTION getword(VAR line:stringtype) : stringtype;
  3.  
  4. VAR
  5.   word : stringtype;
  6.   pos1 : INTEGER;
  7.  
  8. BEGIN
  9.    WHILE POS(' ',line) = 1 DO
  10.       DELETE (line,1,1);
  11.  
  12.    pos1 := POS(' ',line);
  13.  
  14.    IF (pos1 <> 0 ) THEN
  15.    BEGIN
  16.       word := COPY(line,1,pos1-1);
  17.       DELETE(line,1,pos1);
  18.    END
  19.  
  20.    ELSE
  21.    BEGIN
  22.       word := line;
  23.       line := '';
  24.    END;
  25.  
  26.    getword := word;
  27.  
  28. END;
  29.  
  30. PROCEDURE getdta;
  31.  
  32. BEGIN
  33.   INLINE
  34.     ( $b4/$2f/          {mov ah,2f}
  35.       $cd/$21/          {int,21}
  36.       $89/$1e/bx/       {mov (bx),bx  }
  37.       $8c/$c3/          {mov bx,es }
  38.       $89/$1e/es        {mov (es),bx  }
  39.         )
  40.    END;
  41.  
  42.  
  43.  
  44. PROCEDURE getfile(VAR file_search);
  45.  
  46. VAR
  47.    i,j : INTEGER;
  48.  
  49.  
  50. BEGIN
  51.  
  52.  
  53.    BEGIN;
  54.       INLINE  (
  55.          $8b/$56/$04/    {mov dx,[bp+04]}
  56.          $81/$c2/$01/$00/{add dx,0001}
  57.          $b9/$00/$00/    {mov cx,0000}
  58.          $b4/$4e/        {mov ah,4e}
  59.          $cd/$21/        {int 21h }
  60.          $a2/al          {mov (al),al}
  61.            )
  62.    END;
  63.  
  64.  
  65.  
  66.  
  67.    i := 30;
  68.    filename := '';
  69.  
  70.    IF (al <> 02) AND (al <> 18) THEN
  71.    BEGIN
  72.  
  73.       WHILE MEM[es:bx+i] <> 0 DO
  74.       BEGIN
  75.         filename := CONCAT(filename,CHR(MEM[es:bx+i]) );
  76.         i := i +1;
  77.       END;
  78.    END;
  79. END;
  80.  
  81. PROCEDURE getnext;
  82.  
  83. BEGIN
  84.       BEGIN
  85.       INLINE  (
  86.          $b4/$4f/        {mov ah,4f}
  87.          $cd/$21/        {int 21h }
  88.          $a2/al          {mov (al),al}
  89.            )
  90.       END;
  91.  
  92.    i := 30;
  93.    filename := '';
  94.  
  95.    IF (al <> 02) AND (al <> 18) THEN
  96.    BEGIN
  97.  
  98.       WHILE MEM[es:bx+i] <> 0 DO
  99.       BEGIN
  100.         filename := CONCAT(filename,CHR(MEM[es:bx+i]) );
  101.         i := i +1;
  102.       END;
  103.    END;
  104. END;
  105.  
  106. PROCEDURE save_dta;
  107.  
  108. VAR
  109.    i:INTEGER;
  110.  
  111. BEGIN
  112.  
  113.    FOR i := 0 TO 127 DO
  114.      dta[i]  := MEM[es:bx+i] ;
  115. END;
  116.  
  117.  
  118. PROCEDURE restore_dta;
  119.  
  120. VAR
  121.    i:INTEGER;
  122. BEGIN
  123.  
  124.    FOR i := 0 TO 127 DO
  125.      MEM[es:bx+i] :=  dta[i];
  126. END;
  127.  
  128. PROCEDURE write_dta;
  129.  
  130. VAR
  131.    i:INTEGER;
  132. BEGIN
  133. WRITELN;
  134.  
  135.    FOR i := 0 TO 70 DO
  136.      WRITE(CHR(MEM[es:bx+i]) );
  137.      WRITELN;
  138. END;
  139.